<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Eventos extends CI_Controller {
	function index(){
		$this->load->model('eventosModel');
		$this->load->model('adminModel');
		$data['eventos'] = $this->eventosModel->buscarEventos();
		if($data){
			$this->load->view('eventos/home', $data);
		}else{
			redirect('admin/login');
		}
		
	}
	
	
	function escolherQuarto(){
		if($this->session->userdata('id')){
	        $this->load->model('eventosModel');
	        $evento = $this->uri->segment(3);
	        $quarto = $this->uri->segment(4);
	        if ($this->eventosModel->dataQuarto()) {
	        	if ($this->eventosModel->usuarioQuarto() == false) {
			        if ($this->entrarQuarto($quarto)) {
			        	$this->session->set_flashdata('mensagem', 'Você escolheu seu quarto! (:');
			        	redirect('eventos/paginaCongressista/'.$evento);
			        }else{
			        	$this->session->set_flashdata('erro', 'Você não pode se cadastrar nesse quarto, ele já está ocupado! Escolha outro quarto (:');
			        	redirect('eventos/paginaCongressista/'.$evento);
			        }   
				}else{
					$this->session->set_flashdata('erro', 'Você já tem um quarto, saia do seu primeiro');
					redirect('eventos/paginaCongressista/'.$evento);
				}
		    }else{
		    	$this->session->set_flashdata('erro', 'A escolha de quartos ainda não foi aberta');
		    	redirect('eventos/paginaCongressista/'.$evento);
		    }
		}else{
			redirect('eventos/paginaCongressista/'.$evento);
		}
		redirect('eventos/paginaCongressista/'.$evento);
	}
	
	function escolherProgramacao(){
		if($this->session->userdata('id')){
	        $this->load->model('eventosModel');
	        $evento = $this->uri->segment(3);
	        $programacao = $this->uri->segment(4);
	        if ($this->eventosModel->dataProg()) {
	        	if ($this->entrarProg($programacao)) {
	    	    	$this->session->set_flashdata('mensagem', 'Você escolheu sua programação! (:');
	        		redirect('eventos/paginaCongressista/'.$evento);
		        }else{
		        	$this->session->set_flashdata('erro', 'Você não se cadastrou! Escolha outra (:');
		        	redirect('eventos/paginaCongressista/'.$evento);
		        }   
		    }else{
		    	$this->session->set_flashdata('erro', 'A escolha de programação ainda não foi aberta');
		    	redirect('eventos/paginaCongressista/'.$evento);
		    }
		}else{
			redirect('eventos/paginaCongressista/'.$evento);
		}
		redirect('eventos/paginaCongressista/'.$evento);
	}
	
	function entrarProg($id) {
		$this->load->model('eventosModel');
		$prog = $this->eventosModel->buscarProg($id);
		if ($this->eventosModel->entrarProg($id)) {
			return true;
		}else{
			return false;
		}
	}
	
	function entrarQuarto($id) {
		$this->load->model('eventosModel');
		$quarto = $this->eventosModel->buscarQuarto($id);
		if ($quarto->vagas > 0 && $this->session->userdata('evento') == $quarto->evento_evento_id) {
			$this->eventosModel->entrarQuarto($id);
			$quarto->vagas = $quarto->vagas - 1;
			$this->eventosModel->atualizarQuarto($id, $quarto);
			return true;
		}else{
			return false;
		}
	}
	
	function sairQuarto(){
		$id = $this->uri->segment('3');
		$evento = $this->session->userdata('evento');
		$this->load->model('eventosModel');
		$quarto = $this->eventosModel->buscarQuarto($id);
		$this->eventosModel->sairQuarto($id);
		$quarto->vagas = $quarto->vagas + 1;
		if ($this->eventosModel->atualizarQuarto($id, $quarto)) {
			$this->session->set_flashdata('mensagem', 'Você saiu do seu quarto! (:');
			redirect('eventos/paginaCongressista/'.$evento);
		}else{
			$this->session->set_flashdata('erro', 'Desculpa, ocorreu algo imprevisto :(');
			redirect('eventos/paginaCongressista/'.$evento);
		}
		
	}
	
	function sairProg(){
		$id = $this->uri->segment('3');
		$evento = $this->session->userdata('evento');
		$this->load->model('eventosModel');
		$prog = $this->eventosModel->buscarProg($id);
		if ($this->eventosModel->sairProg($id)) {
			$this->session->set_flashdata('mensagem', 'Você saiu da sua programação! (:');
			redirect('eventos/paginaCongressista/'.$evento);
		}else{
			$this->session->set_flashdata('erro', 'Desculpa, ocorreu algo imprevisto :(');
			redirect('eventos/paginaCongressista/'.$evento);
		}
		
	}
	
	function criarBench(){
		$this->load->model('usuarioModel');
		$this->load->model('eventosModel');
		$dados['areas'] = $this->usuarioModel->buscarAreas();
		$dados['horarios'] = $this->eventosModel->buscarHorarios();
		$this->load->view('bench/cadastro', $dados);
	}
	
	function criandoBench() {
	
		$this->load->model('eventosModel');
		
		$titulo = $this->input->post('titulo');
		$assunto = $this->input->post('assunto');
		$horario = $this->input->post('horario');
		$areas = $this->input->post('areas');
		
		$data = array(
		    'titulo' => $titulo,
		    'assunto' => $assunto,
		    'horario_horario_id' => $horario,
		    'evento_evento_id' => $this->session->userdata('evento')
		);
		
		$id = $this->eventosModel->criarBench($data);
		foreach ($areas as $area) {
			$data = array(
			    'bench_bench_id' => $id,
			    'bench_evento_evento_id' => $this->session->userdata('evento'),
			    'area_area_id' => $area
			);
			$this->eventosModel->areaXbench($data);
		}
		
	}
	
	function paginaCongressista(){
		$evento = $this->uri->segment(3);
		if(!$this->session->userdata('id')||$this->session->userdata('evento') != $evento){
			redirect('usuario/login/'.$evento);
		}else{
			$this->load->view('eventos/paginaCongressista');
		}
	}
	
	function listarQuartos() {
		$this->load->model('eventosModel');
		if (isset($this->eventosModel->usuarioQuarto()->quarto_quarto_id)) {
			$data['quarto_id'] = $this->eventosModel->usuarioQuarto()->quarto_quarto_id;
		}else{
			$data['quarto_id'] = 0;
		}
		$data['quartos'] = $this->eventosModel->buscarQuartos();
		if($data){
			$this->load->view('eventos/listarQuartos', $data);
		}else{
			redirect('eventos/paginaCongressista/'.$this->uri->segment('3'));
		}
	}
	
	function listarProgramacao() {
		$this->load->model('eventosModel');
		
		$data['prog_id'] = $this->eventosModel->usuarioProg();

		$data['programacao'] = $this->eventosModel->buscarProgramacao();
		if($data){
			$this->load->view('eventos/listarProgramacao', $data);
		}else{
			redirect('eventos/paginaCongressista/'.$this->uri->segment('3'));
		}
	}
	
	function listarBench() {
		$this->load->model('eventosModel');
		$data['benchmarking'] = $this->eventosModel->buscarBench();
		if($data){
			$this->load->view('eventos/listarBench', $data);
		}else{
			redirect('eventos/paginaCongressista/'.$this->uri->segment('3'));
		}
	}
		
}